/*
* Poppy Game Engine - https://pgetemplate.googlecode.com/svn/
* -----------------------------------------------------------------------
* Licensed under the BSD license, see LICENSE in PSPSDK root for details.
*
* Copyright (c) 2008 Poppy
*/

#pragma once

#include "RendererDefines.h"
#include "RendererExportSymbol.h"
#include "CBinaryStream.h"

namespace PGERenderer
{

	typedef struct 
	{
		unsigned int m_uWidth;
		unsigned int m_uHeight;
	} IMAGE_REAL_SIZE;

	class PGERENDERER_API IImageLoader
	{

	public:

		virtual ~IImageLoader() {}

		virtual bool LoadImageFromFile( PGESystem::CBinaryStream* stream, void* buffer, DWORD bufWidth, DWORD bufHeight, IMAGE_REAL_SIZE* oSize = NULL ) const = 0;

		static IImageLoader* CreateBmpLoader();

	};

}
